// AnyChat for Web SDK

/********************************************
 *				业务逻辑控制				*
 *******************************************/

// var mDefaultServerAddr = "mini.anychat.cn"; // ???????????
var mDefaultServerAddr = "10.10.0.92";		// ???????????
//var mDefaultServerAddr = "116.211.134.212"; // ???????????
var mDefaultServerPort = 8906; // 默认服务器端口号
var mSelfUserId = -1; // 本地用户ID
var mTargetUserId = -1; // 目标用户ID（请求了对方的音视频）
var mRefreshVolumeTimer = -1; // 实时音量大小定时器
var mRefreshPluginTimer = -1; // 检查插件是否安装完成定时器

var Layout_style = 1;
var mei_yan = 1;
var level_no = 5; //默认美颜级别5
var fjh = 0; //鎴块棿鍙?

// 通用标识定义
var ANYCHAT_OBJECT_FLAGS_CLIENT = 0; // 普通客户
var ANYCHAT_OBJECT_FLAGS_AGENT = 0x2; // 坐席用户
var ANYCHAT_OBJECT_FLAGS_MANANGER = 0x4; // 管理用户
var ANYCHAT_OBJECT_FLAGS_AUTOMODE = 0x10; // 自动服务模式
var ANYCHAT_OBJECT_FLAGS_GLOBAL = 0x0040; // 全局服务 180417
var ANYCHAT_OBJECT_FLAGS_QUEUEUSERLIST = 0x0200; // 通知队列用户列表 180417
var ANYCHAT_OBJECT_FLAGS_ONLYSYNCNEED = 0x1000; // 只需要同步关联的数据20190316
var ANYCHAT_OBJECT_FLAGS_AREAUSERINFO = 0x0400; // 营业厅用户详细信息
var ANYCHAT_OBJECT_FLAGS_BUSINESSDATA = 0x4000; // 业务数据（模拟用户）

var ANYCHAT_INVALID_OBJECT_ID = -1; // 无效的对象ID

// 日志记录类型，在日志信息栏内显示不同的颜色
var LOG_TYPE_NORMAL = 0;
var LOG_TYPE_API = 1;
var LOG_TYPE_EVENT = 2;
var LOG_TYPE_ERROR = 3;

// 通知类型，在文字消息栏内显示不同的颜色
var NOTIFY_TYPE_NORMAL = 0;
var NOTIFY_TYPE_SYSTEM = 1;
//录制类型
var record_type = 0; //  默认服务器录制
var record_id = 1;
var record_model = 0; //0为并列
var changeID = -1;
var format = 0;
var BRAC_SO_CORESDK_BKGROUNDMONITOR = 259;
var ANYCHAT_RECORD_FLAGS_NOTSTRICT = 0x08000000; //强制模式

function LogicInit(userid) {
  setTimeout(function() {
    //检查是否安装了插件
    var NEED_ANYCHAT_APILEVEL = "0"; // 定义业务层需要的AnyChat API Level
    var errorcode = BRAC_InitSDK(NEED_ANYCHAT_APILEVEL); // 初始化插件
    //var yet = BRAC_SetSDKOption(BRAC_SO_CORESDK_DISABLECONSOLELOG, 1);		//禁止控制台日志输出
    //console.log("BRAC_SO_CORESDK_DISABLECONSOLELOG:"+yet);
    if (errorcode == 0) {
      console.log("sdk初始化成功" + errorcode);
    }

    AddLog(
      "BRAC_InitSDK(" + NEED_ANYCHAT_APILEVEL + ")=" + errorcode,
      LOG_TYPE_API
    );

    if (errorcode == GV_ERR_SUCCESS) {
      if (mRefreshPluginTimer != -1) clearInterval(mRefreshPluginTimer); // 清除插件安装检测定时器
      ShowLoginDiv(true);
      AddLog("AnyChat Plugin Version:" + BRAC_GetVersion(0), LOG_TYPE_NORMAL);
      AddLog("AnyChat SDK Version:" + BRAC_GetVersion(1), LOG_TYPE_NORMAL);
      AddLog(
        "Build Time:" + BRAC_GetSDKOptionString(BRAC_SO_CORESDK_BUILDTIME),
        LOG_TYPE_NORMAL
      );
      GetID("prompt_div").style.display = "none"; // 隐藏插件安装提示界面
      //var yyy = BRAC_SetSDKOption(BRAC_SO_VIDEOBKIMAGE, "http://photo.fansimg.com/attachment/tuijian/202112/23/190419ap68zplu62231r4z.jpg");
      var yyy = BRAC_SetSDKOption(
        BRAC_SO_VIDEOBKIMAGE,
        "images/anychatbk_tmp.jpg"
      );
      console.log("设置背景图：" + yyy);

      // 初始化界面元素
      InitInterfaceUI(userid);
    } else {
      // 没有安装插件，或是插件版本太旧，显示插件下载界面
      GetID("prompt_div").style.display = "block";
      SetDivTop("prompt_div", 300);
      if (errorcode == GV_ERR_PLUGINNOINSTALL)
        GetID("prompt_div_line1").innerHTML =
          "首次进入需要安装插件，请点击下载按钮进行安装！";
      else if (errorcode == GV_ERR_PLUGINOLDVERSION)
        GetID("prompt_div_line1").innerHTML =
          "检测到当前插件的版本过低，请下载安装最新版本！";

      if (mRefreshPluginTimer == -1) {
        mRefreshPluginTimer = setInterval(function() {
          LogicInit();
        }, 1000);
      }
    }
  }, 500);
}

// 初始化界面元素
function InitInterfaceUI(userid) {
  console.log("登录初始化进行");
  //设置按钮
  // GetID("setting").onclick = function () {
  // if (GetID("setting_div").style.display == "block")
  //     GetID("setting_div").style.display = "none";
  // else
  //     GetID("setting_div").style.display = "block";
  // }
  //??????
  // GetID("loginbtn").onclick = function () {
  // console.log("logicfunc锟斤拷锟斤拷锟斤拷录+1111");
  // if(GetID("password").value == "")
  // 	GetID("password").value = "";

  if (GetID("username").value != "") {
    // DisplayLoadingDiv(true);  //登录页

    setLoginInfo();
    var tow = BRAC_InitSDK("0");
    // console.log("sdfsdfs:" + tow);

    if (GetID("AppGuid") && GetID("AppGuid").value.length)
      // 设置应用ID
      BRAC_SetSDKOption(BRAC_SO_CLOUD_APPGUID, GetID("AppGuid").value);

    var errorcode = BRAC_Connect(
      GetID("ServerAddr").value,
      parseInt(GetID("ServerPort").value)
    ); //连接服务器
    console.log(
      "BRAC_Connect(" +
        GetID("ServerAddr").value +
        "," +
        GetID("ServerPort").value +
        ")  " +
        errorcode
    );

    //登录
    errorcode = BRAC_Login(GetID("username").value, GetID("password").value, 0);
    console.log("登录状态:" + errorcode);
    if (errorcode == 0) {
      console.log("登录成功触发大厅");
      ShowHallDiv(true);
    }

    // 隐藏设置界面
    GetID("setting_div").style.display = "none";
  } else {
    GetID("a_error_user").style.color = "red";
    AddLog("The user name can not be empty!", LOG_TYPE_ERROR);
    GetID("username").focus();
  }
  // }
  //右上角关闭
  GetID("leaveroom").onclick = function() {
    // var opt = {
    //   userId: mTargetUserId,
    //   streamIndex: 0,
    //   mode: 1
    // };
    // var string = {};
    // this.snapshotParams = ANYCHAT_RECORD_FLAGS_SNAPSHOT;
    // var mode = 1;
    // opt.mode && (mode = opt.mode);

    // var streamIndex = 0;
    // opt.streamIndex && (streamIndex = opt.streamIndex);
    // string.streamindex = streamIndex;
    // string.isPhoto = 1;
    // switch (mode + "") {
    //   case "1":
    //     // this.snapshotParams = BRAC_RECORD_FLAGS_SNAPSHOT + BRAC_RECORD_FLAGS_LOCALCB;
    //     break;
    //   case "2":
    //     this.snapshotParams =
    //       this.snapshotParams +
    //       ANYCHAT_RECORD_FLAGS_SERVER +
    //       ANYCHAT_RECORD_FLAGS_LOCALCB;
    //     break;
    // }

    // var errorCode = BRAC_StreamRecordCtrlEx(
    //   opt.userId,
    //   0,
    //   this.snapshotParams,
    //   streamIndex,
    //   JSON.stringify(string)
    // );

    ///////////

    //结束录像
    var dwUserId = -1;
    // 非强制模式
    var ANYCHAT_RECORD_FLAGS_NOTSTRICT = 0x08000000;

    //0x1b37 0x2803 0x4b33;

    var dwFlags = 0x08001b37;

    var extparam = {
      recordlayout: 1, //几个画面
      streamlist: [
        //多路媒体流
        {
          userid: mTargetUserId, //目标用户ID
          streamindex: 0, //用户的0号媒体流
          recordindex: 0 //在录像画面中的位置
        }
      ],
      statusnotify: 10
    };
    BRAC_StreamRecordCtrlEx(dwUserId, 0, dwFlags, 0, JSON.stringify(extparam));

    var errordd = BRAC_VideoCallControl(
      BRAC_VIDEOCALL_EVENT_FINISH,
      tuserid,
      0,
      0,
      0,
      ""
    );
    if (errordd == 0) {
      tuserid = "";
      console.log("电话挂断成功");
    }
    console.log("关闭视频，结束录像返回状态", errorCode);
    //var tag=BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_STEREO;
    // BRAC_Logout();
    //BRAC_StreamRecordCtrl(mSelfUserId,0,tag,0);
    me = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_STOP,
      0,
      0,
      ""
    );

    if (me == 0) {
      console.log("停止流媒体：成功");
    } else {
      console.log("停止流媒体：失败");
    }

    var errorcode = BRAC_LeaveRoom(-1);

    AddLog("BRAC_LeaveRoom(" + -1 + ")=" + errorcode, LOG_TYPE_API);
    if (mRefreshVolumeTimer != -1) clearInterval(mRefreshVolumeTimer); // 清除实时音量显示计时器
    ShowRoomDiv(false); // 隐藏房间界面
    console.log("关闭触发大厅");
    ShowHallDiv(true); // 显示大厅界面
    mTargetUserId = -1;
  };

  //返回按钮
  GetID("gobackvideo").onclick = function() {
    var msgcode = BRAC_Logout();
    console.log("点击返回,结束当前呼叫与登录", msgcode);
  };

  setTimeout(() => {
    console.log("进入视频呼叫,呼叫id=", userid);
    openVideoCallControl(userid);
  }, 1000);

  //重新发起
  GetID("resetSendvideo").onclick = function() {
    //先关闭当前
    me = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_STOP,
      0,
      0,
      ""
    );

    if (me == 0) {
      console.log("停止流媒体：成功");
    } else {
      console.log("停止流媒体：失败");
    }

    var errorcode = BRAC_LeaveRoom(-1);

    AddLog("BRAC_LeaveRoom(" + -1 + ")=" + errorcode, LOG_TYPE_API);
    if (mRefreshVolumeTimer != -1) clearInterval(mRefreshVolumeTimer); // 清除实时音量显示计时器
    ShowRoomDiv(false); // 隐藏房间界面
    console.log("重新发起触发大厅");
    ShowHallDiv(true); // 显示大厅界面
    mTargetUserId = -1;

    setTimeout(() => {
      openVideoCallControl(userid);
    }, 1000);
  };

  //??????????
  GetID("SendMsg").onclick = function() {
    SendMessage();
  };
  //回车键发送信息
  GetID("MessageInput").onkeydown = function(e) {
    e = e ? e : window.event; //键盘事件
    if (e.keyCode == 13 && GetID("MessageInput").value != "") {
      //回车键被点击且发送信息框不为空
      SendMessage();
    }
  };
  //下载插件按钮鼠标划入划出时间
  GetID("prompt_div_btn_load").onmouseover = function() {
    GetID("prompt_div_btn_load").style.backgroundColor = "#ffc200";
  };
  GetID("prompt_div_btn_load").onmouseout = function() {
    GetID("prompt_div_btn_load").style.backgroundColor = "#ff8100";
  };
  //下载插件界面关闭按钮
  GetID("prompt_div_headline2").onclick = function() {
    document.URL = location.href;
  };
  // 鼠标移到日志层上面
  GetID("LOG_DIV_BODY").onmousemove = function() {
    GetID("LOG_DIV_BODY").style.zIndex = 100;
    GetID("LOG_DIV_CONTENT").style.backgroundColor = "#FAFADD";
    GetID("LOG_DIV_CONTENT").style.border = "1px solid black";
  };
  // 鼠标从日志层上面移开
  GetID("LOG_DIV_BODY").onmouseout = function() {
    GetID("LOG_DIV_BODY").style.zIndex = -1;
    GetID("LOG_DIV_CONTENT").style.backgroundColor = "#C4CEDD";
    GetID("LOG_DIV_CONTENT").style.border = "";
  };
}
var tuserid = "";
//进入房间
async function openVideoCallControl(val) {
  tuserid = val;
  try {
    // console.log("异步发送呼叫==", val);
    var errorcode2 = BRAC_VideoCallControl(
      BRAC_VIDEOCALL_EVENT_REQUEST,
      val,
      0,
      0,
      0,
      ""
    );
    console.log("视频呼叫返回状态", errorcode2);
  } catch (error) {
    console.log("进入房间报错", error);
  }
}

function PasswordFocus(obj, color) {
  // 判断文本框中的内容是否是默认内容
  if (obj.value == "密码可为空") obj.value = "";
  obj.type = "password";
  // 设置文本框获取焦点时候背景颜色变换
  obj.style.backgroundColor = color;
}
// 当鼠标离开时候改变文本框背景颜色
function myblur(obj, color) {
  obj.style.background = color;
}

//计算高度并设置界面位置
function SetDivTop(id, TheHeight) {
  var BodyHeight = document.documentElement.clientHeight; //获得浏览器可见区域高度
  if (TheHeight < BodyHeight) {
    //div高度小于可见区域高度
    GetID("margintop").style.height = (BodyHeight - TheHeight) / 4 + "px";
    GetID(id).style.marginTop = "0px";
  }
}

//系统信息框滚动条显隐
function DisplayScroll(id) {
  var offset = GetID(id); //需要检测的div
  if (offset.offsetHeight < offset.scrollHeight) {
    //div可见高度小于div滚动条高度
    GetID(id).style.overflowY = "scroll"; //显示滚动条
    GetID(id).scrollTop = GetID(id).scrollHeight; //滚动条自动滚动到底部
  } else GetID(id).style.overflowY = "hidden"; //隐藏滚动条
}
//发送信息
function SendMessage() {
  if (GetID("MessageInput").value != "") {
    //发送信息框不为空
    var Msg = GetID("MessageInput").value;
    BRAC_SendTextMessage(0, 0, Msg); //调用发送信息函数
    DisplayTextMessage(mSelfUserId, Msg);
    GetID("MessageInput").value = "";
    GetID("MessageInput").focus();

    console.log(typeof Msg);
    console.log("Send data:" + Msg);
    // window.$root.$emit('sendMessageEvent',msg);
  }
}

// 显示文字消息
function DisplayTextMessage(fromuserid, message) {
  var namestr = BRAC_GetUserName(fromuserid) + "&nbsp" + GetTheTime();
  if (fromuserid == mSelfUserId) namestr = namestr.fontcolor("#008000");
  else namestr = namestr.fontcolor("#000080");
  message = message.fontcolor("#333333");

  var msgdiv = document.createElement("div");
  msgdiv.setAttribute("class", "TheMsgStyle");
  msgdiv.innerHTML = namestr + "：&nbsp&nbsp" + message;
  GetID("ReceiveMsgDiv").appendChild(msgdiv);
  DisplayScroll("ReceiveMsgDiv");
}

// 在文字消息区域显示通知信息
function ShowNotifyMessage(message, type) {
  if (type == NOTIFY_TYPE_SYSTEM) {
    message = message.fontcolor("#FF0000");
  } else {
    message = message.fontcolor("#333333");
  }
  var msgdiv = document.createElement("div");
  msgdiv.setAttribute("class", "TheMsgStyle");
  msgdiv.innerHTML =
    message + "&nbsp(" + GetTheTime().fontcolor("#999999") + ")";
  GetID("ReceiveMsgDiv").appendChild(msgdiv);
  DisplayScroll("ReceiveMsgDiv");
}

// 显示登录界面
function ShowLoginDiv(bShow) {
  if (bShow) {
    GetID("login_div").style.display = "none"; //显示登录界面
    GetID("username").focus();
    SetDivTop("login_div", 195); //登录界面垂直居中
    GetID("LOG_DIV_BODY").style.display = "none"; //显示系统信息框
    GetID("ServerAddr").value = mDefaultServerAddr;
    GetID("ServerPort").value = mDefaultServerPort;

    GetID("hall_div").style.display = "block"; //???????????
  } else {
  }
}

// 显示大厅界面
function ShowHallDiv(bShow) {
  if (bShow) {
    GetID("room_div_userlist").innerHTML = ""; //清空房间界面好友列表
    GetID("login_div").style.display = "none"; //隐藏登录界面
    GetID("hall_div").style.display = "block"; //显示大厅界面
    // GetID("customroomid").value = "";
    SetDivTop("hall_div", 400); //大厅界面垂直居中
    // GetID("customroomid").focus();
    GetID("a_error_user").style.color = "#FAFADD";

    GetID("hall_div_td_name").innerHTML = BRAC_GetUserName(mSelfUserId);
    // console.log("设置昵称==", BRAC_GetUserName(mSelfUserId));
    GetID("hall_div_td_id").innerHTML = mSelfUserId;
    GetID("hall_div_td_level").innerHTML = BRAC_GetUserLevel(mSelfUserId);
    GetID("hall_div_td_ip").innerHTML = BRAC_QueryUserStateString(
      mSelfUserId,
      BRAC_USERSTATE_LOCALIP
    );
  } else {
    GetID("hall_div").style.display = "none";
  }
}

// 显示房间界面
function ShowRoomDiv(bShow) {
  if (bShow) {
    GetID("hall_div").style.display = "none"; //隐藏大厅界面
    GetID("room_div").style.display = "block"; //显示房间界面
    SetDivTop("room_div", 610); //房间界面垂直居中
    GetID("MessageInput").focus();
  } else {
    // GetID("advanceset_div").style.display = "none"; //隐藏高级设置界面
    GetID("ReceiveMsgDiv").innerHTML = ""; //清空房间界面信息接收框
    GetID("room_div").style.display = "none"; //隐藏房间界面
  }
}

// 请求进入指定的房间
function EnterRoomRequest(roomid) {
  var errorcode = BRAC_EnterRoom(roomid, "", 0); //进入房间
  AddLog("BRAC_EnterRoom(" + roomid + ")=" + errorcode, LOG_TYPE_API);
  if (errorcode == 0) DisplayLoadingDiv(true);
}

//呼叫回调函数
function OnAnyChatVideoCallEvent(
  dwEventType,
  dwUserId,
  dwErrorCode,
  dwFlags,
  dwParam,
  szUserStr
) {
  console.log("dwEventType==", dwEventType);

  //接收
  if (dwEventType == 3) {
    var videocode = BRAC_EnterRoom(dwParam, "", 0);
    // EnterRoomRequest(parseInt(userid));
    //进入房间后开始录像
    console.log("进入房间状态=", videocode);

    if (videocode == 0) {
      setTimeout(() => {
        console.log("开始自动录像,目标uid", mTargetUserId);
        // record_av_mix();
        record();
      }, 1000);
    }
  }
  //挂断
  if (dwEventType == 4) {
    me = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_STOP,
      0,
      0,
      ""
    );

    if (me == 0) {
      console.log("停止流媒体：成功");
    } else {
      console.log("停止流媒体：失败");
    }

    var errorcode = BRAC_LeaveRoom(-1);

    // AddLog("BRAC_LeaveRoom(" + -1 + ")=" + errorcode, LOG_TYPE_API);
    if (mRefreshVolumeTimer != -1) clearInterval(mRefreshVolumeTimer); // 清除实时音量显示计时器
    ShowRoomDiv(false); // 隐藏房间界面
    console.log("挂断时触发大厅");
    ShowHallDiv(true); // 显示大厅界面
    mTargetUserId = -1;
  }

  // console.log("dwUserId==", dwUserId);
  // console.log("dwErrorCode==", dwErrorCode);
  // console.log("dwFlags==", dwFlags);
  // console.log("房间号==", dwParam);
}

function GetID(id) {
  if (document.getElementById) {
    return document.getElementById(id);
  } else if (window[id]) {
    return window[id];
  }
  return null;
}
// 打开指定用户的音视频
function RequestOtherUserVideo(userid) {
  var userlist = GetID("room_div_userlist");
  // 获得用户列表中所有<a>标签
  var userdivobj = userlist.getElementsByTagName("div");
  for (var i = 0; i < userdivobj.length; i++) {
    userdivobj[i].style.backgroundColor = "White";
  }
  // 获取用户列表中所有<img>标签
  var userimgobj = userlist.getElementsByTagName("img");
  for (var j = 0; j < userimgobj.length; j++) {
    if (userimgobj[j].getAttribute("class") == "MicrophoneTag") {
      // 该图片为 话筒 图片
      userimgobj[j].src =
        "../../assets/theme/img/advanceset/microphone_false.png";
      userimgobj[j].onclick = ""; // 删除话筒按钮点击事件
      userimgobj[j].style.cursor = "";
    }
  }
  // 判断是否需要关闭之前已请求的用户音视频数据
  if (mTargetUserId != -1) {
    BRAC_UserCameraControl(mTargetUserId, 0);
    BRAC_UserSpeakControl(mTargetUserId, 0);
  }
  GetID(userid + "_MicrophoneTag").src =
    "../../assets/theme/img/advanceset/microphone_true.png"; // 点亮话筒图片
  GetID(userid + "_UserDiv").style.backgroundColor = "#E6E6E6"; //设置被点击<a>元素的字体颜色

  mTargetUserId = userid; //设置被点用户ID为全局变量
  BRAC_UserCameraControl(userid, 1); // 请求对方视频
  BRAC_UserSpeakControl(userid, 1); // 请求对方语音
  // 设置远程视频显示位置
  //BRAC_SetVideoPosEx(userid, GetID("AnyChatLocalVideoDiv"), "ANYCHAT_VIDEO_LOCAL","");
  BRAC_SetVideoPosEx(
    userid,
    GetID("AnyChatRemoteVideoDiv"),
    "ANYCHAT_VIDEO_REMOTE",
    ""
  );
  MicrophoneOnclick(userid); // 为当前视频会话用户话筒按钮添加点击事件
}

// 对列表中的用户进行添加、删除操作
function RoomUserListControl(userid, bInsert) {
  var userlist = GetID("room_div_userlist");
  if (bInsert) {
    var itemdiv = document.createElement("div");
    itemdiv.setAttribute("class", "UserListStyle");
    itemdiv.id = userid + "_UserDiv";

    // 判断用户摄像头状态
    if (BRAC_GetCameraState(userid) == 0)
      AddImage(itemdiv, userid + "_CameraTag", "CameraTag", "", userid); // 添加摄像头图片<img>标签
    if (BRAC_GetCameraState(userid) == 1)
      AddImage(
        itemdiv,
        userid + "_CameraTag",
        "CameraTag",
        "../../assets/theme/img/advanceset/camera_false.png",
        userid
      ); // ???????????<img>???
    if (BRAC_GetCameraState(userid) == 2)
      AddImage(
        itemdiv,
        userid + "_CameraTag",
        "CameraTag",
        "../../assets/theme/img/advanceset/camera_true.png",
        userid
      ); // 添加摄像头图片<img>标签
    // 判断当前ID是否为自己
    if (userid == mSelfUserId) {
      AddImage(
        itemdiv,
        mSelfUserId + "_MicrophoneTag",
        "mSelfMicrophoneTag",
        "../../assets/theme/img/advanceset/microphone_true.png",
        userid
      ); // 添加话筒图片<img>标签
      itemdiv.innerHTML += "&nbsp" + BRAC_GetUserName(mSelfUserId) + "(自己)";
    } else {
      AddImage(
        itemdiv,
        userid + "_MicrophoneTag",
        "MicrophoneTag",
        "../../assets/theme/img/advanceset/microphone_false.png",
        userid
      ); // 添加话筒图片<!-- <img> -->标签
      // 添加用户姓名<!-- <a> -->标签
      var a = document.createElement("a");
      a.id = userid + "_UserTag";
      a.title = BRAC_GetUserName(userid);
      a.innerHTML = BRAC_GetUserName(userid);
      a.href = "javascript:RequestOtherUserVideo(" + userid + ")";
      itemdiv.appendChild(a);
    }
    GetID("room_div_userlist").appendChild(itemdiv);
    MicrophoneOnclick(mSelfUserId);
  } else {
    var my = GetID(userid + "_UserDiv");
    userlist.removeChild(my);
  }
  DisplayScroll("room_div_userlist");
}
//div按钮鼠标划入划出效果
function Mouseover(id) {
  //GetID(id).style.backgroundColor = "#FFFFCC";
}
//div按钮鼠标划入划出效果
function Mouseout(id) {
  //GetID(id).style.backgroundColor = "#E6E6E6";
}
//获取当前时间  (00:00:00)
function GetTheTime() {
  var TheTime = new Date();
  return TheTime.toLocaleTimeString();
}

// 添加日志并显示，根据不同的类型显示不同的颜色
function AddLog(message, type) {
  if (type == LOG_TYPE_API) {
    // API调用日志，绿色
    message = message.fontcolor("Green");
  } else if (type == LOG_TYPE_EVENT) {
    // 回调事件日志，黄色
    message = message.fontcolor("#CC6600");
  } else if (type == LOG_TYPE_ERROR) {
    // 出错日志，红色
    message = message.fontcolor("#FF0000");
  } else {
    // 普通日志，灰色
    message = message.fontcolor("#333333");
  }
  GetID("LOG_DIV_CONTENT").innerHTML +=
    message + "&nbsp" + GetTheTime().fontcolor("#333333") + "<br />";
  DisplayScroll("LOG_DIV_CONTENT");
}

// 显示等待进度条，提示用户操作正在进行中
function DisplayLoadingDiv(bShow) {
  if (bShow) {
    GetID("LOADING_DIV").style.display = "block";
    GetID("LOADING_GREY_DIV").style.display = "block";
    var TheHeight = document.documentElement.clientHeight;
    var TheWidth = document.body.offsetWidth;
    GetID("LOADING_DIV").style.marginTop = (TheHeight - 50) / 2 + "px";
    GetID("LOADING_DIV").style.marginLeft = (TheWidth - 130) / 2 + "px";
  } else {
    GetID("LOADING_DIV").style.display = "none";
    GetID("LOADING_GREY_DIV").style.display = "none";
  }
}

//好友 摄像头  话筒  图标
function AddImage(parent_id, img_id, img_class, fir_img, userid) {
  var imgs = document.createElement("img");
  imgs.id = img_id;
  imgs.className = img_class;
  imgs.src = fir_img;
  imgs.style.width = "15px";
  imgs.style.height = "15px";
  parent_id.appendChild(imgs);
}
// 为被点击用户话筒按钮添加点击事件
function MicrophoneOnclick(userid) {
  GetID(userid + "_MicrophoneTag").style.cursor = "pointer"; // 鼠标形状
  GetID(userid + "_MicrophoneTag").onclick = function() {
    // 话筒点击事件
    var ImgPath = GetID(userid + "_MicrophoneTag").src.split("/");
    if (ImgPath[ImgPath.length - 1] == "microphone_true.png") {
      GetID(userid + "_MicrophoneTag").src =
        "../../assets/theme/img/advanceset/microphone_false.png";
      BRAC_UserSpeakControl(userid, 0); // ???????
    } else {
      GetID(userid + "_MicrophoneTag").src =
        "../../assets/theme/img/advanceset/microphone_true.png";
      BRAC_UserSpeakControl(userid, 1); // ????????
    }
  };
}
var bRecordServerStarted = false;
//mTargetUserId
//服务器录像
function record_server() {
  if (!bStarted) {
    BRAC_StreamRecordCtrl(mSelfUserId, 1, 7, 0);
    alert("start");
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, 7, 0);
    alert("end");
  }
  bRecordServerStarted = !bRecordServerStarted;
}

var bRecordLocal = false;

//本地录像
function record_local() {
  if (!bRecordLocal) {
    BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\local");
    BRAC_StreamRecordCtrl(mSelfUserId, 1, 0, 0);
    alert("start");
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, 0, 0);
    alert("end");
  }
  bRecordLocal = !bRecordLocal;
}
var bRecordLocalMix = false;
//服务器合成录像
function record_local_mix() {
  var tag =
    BRAC_RECORD_FLAGS_SERVER +
    BRAC_RECORD_FLAGS_VIDEO +
    BRAC_RECORD_FLAGS_AUDIO +
    BRAC_RECORD_FLAGS_MIXAUDIO +
    BRAC_RECORD_FLAGS_MIXVIDEO +
    BRAC_RECORD_FLAGS_ABREAST +
    BRAC_RECORD_FLAGS_STEREO;
  if (!bRecordLocalMix) {
    BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\localmix");
    BRAC_StreamRecordCtrl(mSelfUserId, 1, tag, 0);
    alert("start");
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, tag, 0);
    alert("end");
  }
  bRecordLocalMix = !bRecordLocalMix;
}
var rotationLocal = 0;
//本地采集方向旋转
function rotation_local() {
  var action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
  BRAC_SetSDKOption(98, 0);
  switch (rotationLocal) {
    case 0:
      rotationLocal = 90;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
      break;
    case 90:
      rotationLocal = 180;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION180;
      break;
    case 180:
      rotationLocal = 270;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION270;
      break;
    case 270:
      rotationLocal = 0;
      action_rotation = 0;
      break;
  }
  BRAC_UserInfoControl(
    -1,
    BRAC_USERINFO_CTRLCODE_ROTATION,
    action_rotation,
    0,
    ""
  );
  alert("旋转成功");
}
var rotation = 0;
//远程视频方向旋转
function rotation_remote() {
  if (mTargetUserId == -1) {
    alert("请选择远程用户");
    return;
  }
  var action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
  switch (rotation) {
    case 0:
      rotation = 90;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
      break;
    case 90:
      rotation = 180;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION180;
      break;
    case 180:
      rotation = 270;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION270;
      break;
    case 270:
      rotation = 0;
      action_rotation = 0;
      break;
  }
  BRAC_UserInfoControl(
    mTargetUserId,
    BRAC_USERINFO_CTRLCODE_ROTATION,
    action_rotation,
    0,
    ""
  );
  alert("旋转成功");
}

//传送文件
function filetrans() {
  if (mTargetUserId == -1) {
    alert("请选择远程用户");
    return;
  }
  BRAC_TransFile(mTargetUserId, "", 0, 0, 0);
  var erro = BRAC_QueryTransTaskInfo(mTargetUserId, dwTaskId, infoname);
  console.log(erro);
}
//传送透明通道数据
function transbuffer() {
  if (mTargetUserId == -1) {
    alert("请选择远程用户");
    return;
  }
  BRAC_TransBuffer(mTargetUserId, "data好的");
}

var brecord_audio_local = false;
//录制本地音频
function record_audio_local() {
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制本地音频");
  var tag = BRAC_RECORD_FLAGS_AUDIO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_audio_local) {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, tag, 0);
    GetID("record_audio_local").innerHTML = "录制本地音频";
    GetID("record_audio_local").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 1, tag, 0);
    GetID("record_audio_local").innerHTML = "结束录制";
    GetID("record_audio_local").style.backgroundColor = "red";
  }
  brecord_audio_local = !brecord_audio_local;
}
var brecord_video_local = false;
//录制本地视频
function record_video_local() {
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制本地视频");
  var tag = BRAC_RECORD_FLAGS_VIDEO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_video_local) {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, tag, 0);
    GetID("record_video_local").innerHTML = "录制本地视频";
    GetID("record_video_local").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 1, tag, 0);
    GetID("record_video_local").innerHTML = "结束录制";
    GetID("record_video_local").style.backgroundColor = "red";
  }
  brecord_video_local = !brecord_video_local;
}

var brecord_av_local = false;

//录制参数
jsonobj2 = {
  recordlayout: 2,
  layoutstyle: Layout_style,
  streamlist: [
    {
      userid: mSelfUserId,
      streamindex: 0,
      recordindex: 1
    },
    {
      userid: mTargetUserId,
      streamindex: 0,
      recordindex: 0
    },
    {
      userid: "009300920993",
      streamindex: 0,
      recordindex: 2
    }
  ],
  statusnotify: 10,
  textoverlay: {
    fontcolor: "0xffffff",
    alpha: 100,
    posx: 15,
    posy: 15,
    fontsize: 15,
    useservertime: 1,
    text: "test:\\%'?C[timestamp]????????????]??A????i33333"
  },
  watermark: {
    alpha: 50,
    posx: 8,
    posy: 8,
    overlayimgwidth: 0,
    overlayimgheight: 0,
    imagepath: "d:\\AnyChat.jpg"
  }
};

jsonParam = JSON.stringify(jsonobj2);

var brecord_av_local = false;
//录制单人音视频
function record_av_local() {
  //BRAC_SetSDKOption(BRAC_SO_RECORD_VIDEOBR,600000);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_HEIGHT,720);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_WIDTH,1024);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_AUDIOBR,18000);

  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制单人音视频");
  var tag = BRAC_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_VIDEO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;

  if (format == 3) {
    tag = BRAC_RECORD_FLAGS_AUDIO;
  }

  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (record_id == 0) {
    if (mTargetUserId == -1) {
      alert("请选择远程用户");
      return;
    }
    changeID = mTargetUserId;
  }

  var jsonobj1 = {
    recordlayout: 2,
    layoutstyle: Layout_style,
    streamlist: [
      {
        userid: mSelfUserId,
        streamindex: 0,
        recordindex: 1
      },
      {
        userid: mTargetUserId,
        streamindex: 0,
        recordindex: 0
      }
    ],
    statusnotify: 10,
    textoverlay: {
      fontcolor: "0xffffff",
      alpha: 100,
      posx: 15,
      posy: 15,
      fontsize: 15,
      useservertime: 1,
      text: "单方录制:\\%'????????????]??A????i"
    },
    watermark: {
      alpha: 50,
      posx: 8,
      posy: 8,
      overlayimgwidth: 0,
      overlayimgheight: 0,
      imagepath: "d:\\AnyChat.jpg"
    }
  };

  console.log("本地录制：" + Layout_style);
  var jsonParam1 = JSON.stringify(jsonobj1);
  if (brecord_av_local) {
    BRAC_StreamRecordCtrl(changeID, 0, tag, 0, "sdk", jsonParam1);
    GetID("record_av_local").innerHTML = "录制单方音视频";
    GetID("record_av_local").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(changeID, 1, tag, 0, "sdk", jsonParam1);
    GetID("record_av_local").innerHTML = "结束录制";
    GetID("record_av_local").style.backgroundColor = "red";
  }
  brecord_av_local = !brecord_av_local;
}

var brecord_audio_remmote = false;
//录制远程音频
function record_audio_remmote() {
  if (mTargetUserId == -1) {
    alert("请选择用户");
    return;
  }
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制远程音频");
  var tag = BRAC_RECORD_FLAGS_AUDIO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_audio_remmote) {
    BRAC_StreamRecordCtrl(mTargetUserId, 0, tag, 0);
    GetID("record_audio_remmote").innerHTML = "录制远程音频";
    GetID("record_audio_remmote").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mTargetUserId, 1, tag, 0);
    GetID("record_audio_remmote").innerHTML = "结束录制";
    GetID("record_audio_remmote").style.backgroundColor = "red";
  }
  brecord_audio_remmote = !brecord_audio_remmote;
}
var brecord_video_remmote = false;
//录制远程视频
function record_video_remmote() {
  if (mTargetUserId == -1) {
    alert("请选择用户");
    return;
  }
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制远程视频");
  var tag = BRAC_RECORD_FLAGS_VIDEO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_video_remmote) {
    BRAC_StreamRecordCtrl(mTargetUserId, 0, tag, 0);
    GetID("record_video_remmote").innerHTML = "录制远程视频";
    GetID("record_video_remmote").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mTargetUserId, 1, tag, 0);
    GetID("record_video_remmote").innerHTML = "结束录制";
    GetID("record_video_remmote").style.backgroundColor = "red";
  }
  brecord_video_remmote = !brecord_video_remmote;
}
var brecord_av_remmote = false;
//录制远程音视频
function record_av_remmote() {
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制远程音视频");
  var tag = BRAC_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_VIDEO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_av_remmote) {
    BRAC_StreamRecordCtrl(mTargetUserId, 0, tag, 0);
    GetID("record_av_remmote").innerHTML = "录制远程音视频";
    GetID("record_av_remmote").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mTargetUserId, 1, tag, 0);
    GetID("record_av_remmote").innerHTML = "结束录制";
    GetID("record_av_remmote").style.backgroundColor = "red";
  }
  brecord_av_remmote = !brecord_av_remmote;
}
var brecord_audio_mix = false;
//录制混合音频
function record_audio_mix() {
  if (mTargetUserId == -1) {
    alert("请选择用户");
    return;
  }
  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\录制混合音频");
  var tag =
    BRAC_RECORD_FLAGS_AUDIO +
    BRAC_RECORD_FLAGS_MIXAUDIO +
    BRAC_RECORD_FLAGS_STEREO;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (brecord_audio_mix) {
    BRAC_StreamRecordCtrl(mSelfUserId, 0, tag, 0);
    GetID("record_audio_mix").innerHTML = "录制混合音频";
    GetID("record_audio_mix").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(mSelfUserId, 1, tag, 0);
    GetID("record_audio_mix").innerHTML = "结束录制";
    GetID("record_audio_mix").style.backgroundColor = "red";
  }
  brecord_audio_mix = !brecord_audio_mix;
}
var brecord_video_mix = false;
//本地合成录制
function record_video_mix() {
  //BRAC_SetSDKOption(BRAC_SO_RECORD_VIDEOBR,500);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_HEIGHT,480);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_WIDTH,6400);
  //BRAC_SetSDKOption(BRAC_SO_RECORD_AUDIOBR,18000);

  BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\本地合成录制");
  var tag =
    BRAC_RECORD_FLAGS_VIDEO +
    BRAC_RECORD_FLAGS_AUDIO +
    BRAC_RECORD_FLAGS_MIXVIDEO +
    BRAC_RECORD_FLAGS_MIXAUDIO +
    BRAC_RECORD_FLAGS_STEREO +
    BRAC_RECORD_FLAGS_STREAM;
  //	var tag=BRAC_RECORD_FLAGS_SERVER+BRAC_RECORD_FLAGS_VIDEO+BRAC_RECORD_FLAGS_AUDIO+BRAC_RECORD_FLAGS_MIXAUDIO+BRAC_RECORD_FLAGS_MIXVIDEO+BRAC_RECORD_FLAGS_ABREAST+BRAC_RECORD_FLAGS_STEREO;

  var jsonobj1 = {
    recordlayout: 4,
    layoutstyle: Layout_style,
    streamlist: [
      {
        userid: mSelfUserId,
        streamindex: 0,
        recordindex: 0
      },
      {
        userid: mTargetUserId,
        streamindex: 0,
        recordindex: 1
        ////			},{
        //			"userid":000090390403,
        //			"streamindex":0,
        //			"recordindex":2
      }
    ],
    statusnotify: 1,
    textoverlay: {
      fontcolor: "0xffffff",
      alpha: 100,
      posx: 15,
      posy: 15,
      fontsize: 15,
      useservertime: 1,
      text: "test！时间：[timestamp]:五六七八"
    }
  };

  var jsonParam1 = JSON.stringify(jsonobj1);
  console.log("本地合成录制" + Layout_style);

  if (record_id == 0) {
    changeID = mTargetUserId;
  }
  if (brecord_video_mix) {
    BRAC_StreamRecordCtrl(changeID, 0, tag, 0, jsonParam1);
    GetID("record_video_mix").innerHTML = "画中画";
    GetID("record_video_mix").style.backgroundColor = "#E6E6E6";
  } else {
    BRAC_StreamRecordCtrl(changeID, 1, tag, 0, jsonParam1);
    GetID("record_video_mix").innerHTML = "结束录制";
    GetID("record_video_mix").style.backgroundColor = "red";
  }
  brecord_video_mix = !brecord_video_mix;
}
var brecord_av_mix = false;
//服务器合成录制

var record_status = false;
//录像功能
function record() {
  console.log("新的视频录制方式");
  //开始录像
  var dwUserId = -1;
  // 非强制模式
  var ANYCHAT_RECORD_FLAGS_NOTSTRICT = 0x08000000;
  //0x1b37 0x2803 0x4b33;
  var dwFlags = 0x08001b37;
  var extparam = {
    recordlayout: 1, //几个画面
    streamlist: [
      //多路媒体流
      {
        userid: mTargetUserId, //目标用户ID
        streamindex: 0, //用户的0号媒体流
        recordindex: 0 //在录像画面中的位置
      }
    ],
    statusnotify: 10
  };

  if (record_status === false) {
    BRAC_StreamRecordCtrlEx(dwUserId, 1, dwFlags, 0, JSON.stringify(extparam));
    GetID("record_av_mix").innerHTML = "结束录制";
    GetID("record_av_mix").style.backgroundColor = "red";
    console.log("start record");
  } else {
    BRAC_StreamRecordCtrlEx(dwUserId, 0, dwFlags, 0, JSON.stringify(extparam));
    GetID("record_av_mix").innerHTML = "合成录制";
    GetID("record_av_mix").style.console.log("stop record");
  }
  record_status = !record_status;
}

var bmix_server_record = false;
//服务器合成流录制
function mix_server_record() {
  get_filename();

  var tag =
    BRAC_RECORD_FLAGS_SERVER +
    BRAC_RECORD_FLAGS_VIDEO +
    BRAC_RECORD_FLAGS_AUDIO +
    BRAC_RECORD_FLAGS_MIXAUDIO +
    BRAC_RECORD_FLAGS_MIXVIDEO +
    BRAC_RECORD_FLAGS_STEREO +
    BRAC_RECORD_FLAGS_STREAM +
    ANYCHAT_RECORD_FLAGS_LOCALCB +
    BRAC_RECORD_FLAGS_USERFILENAME +
    BRAC_RECORD_FLAGS_FILEMD5 +
    ANYCHAT_RECORD_FLAGS_FILESM3;

  if (record_id == 0) {
    changeID = mTargetUserId;
  }

  if (record_model == 0) {
    tag += BRAC_RECORD_FLAGS_ABREAST;
  }

  if (format == 3 || format == 9) {
    tag =
      BRAC_RECORD_FLAGS_AUDIO +
      BRAC_RECORD_FLAGS_MIXAUDIO +
      BRAC_RECORD_FLAGS_STEREO +
      BRAC_RECORD_FLAGS_SERVER +
      BRAC_RECORD_FLAGS_STREAM +
      ANYCHAT_RECORD_FLAGS_LOCALCB;
  }

  var jsonobj1 = {
    recordlayout: 2,
    streamlist: [
      {
        streamindex: 0,
        userid: mSelfUserId,
        recordindex: 1
      },
      {
        streamindex: 0,
        userid: mTargetUserId,
        recordindex: 0
      }
    ],
    textoverlay: {
      fontcolor: "#ff0000", //
      alpha: 100,
      posx: 5,
      posy: 5,
      fontsize: 10,
      fontfile: "/home/pi/aarch64cluster/fonts/simsun.ttc", //
      useservertime: 1,
      text: "test中文[timestamp]"
    },
    watermark: {
      alpha: 50,
      posx: 8,
      posy: 8,
      overlayimgwidth: 0,
      overlayimgheight: 0,
      imagepath: "D:\\mediafile\\AnyChat.jpg"
    },
    //"statusnotify":1,
    filename: filename,
    recordparam: {
      videobitrate: 400000,
      audiobitrate: 32000,
      clipmode: 2,
      width: 960,
      height: 640,
      fps: 15
    }
  };

  var jsonParam1 = JSON.stringify(jsonobj1);

  if (bmix_server_record) {
    DisplayTextMessage(-1, "结束合成流录制");
    BRAC_StreamRecordCtrlEx(changeID, 0, tag, 0, jsonParam1); //zyc-tag,0x3b37 0x1816  jsonParam1

    GetID("mix_server_record").innerHTML = "合成流";
    GetID("mix_server_record").style.backgroundColor = "#E6E6E6";
  } else {
    var FILE_TYPE = 0; //录制-0 MP4[默认], 1 WMV, 2 FLV, 3 MP3
    BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, FILE_TYPE);

    DisplayTextMessage(-1, "开始合成流录制");
    err = BRAC_StreamRecordCtrlEx(changeID, 1, tag, 0, jsonParam1); //changeID jsonParam1

    GetID("mix_server_record").innerHTML = "结束录制";
    GetID("mix_server_record").style.backgroundColor = "red";
  }
  bmix_server_record = !bmix_server_record;
}

//同步录制
num = 1;
var bsync_record = false;
function sync_record() {
  if (bsync_record) {
    DisplayTextMessage(-1, "同步录制结束");
    var jsonObj1 = {
      taskguid: "38E34798-3140-4001-BFCD-AB060FEC3011",
      flags: ANYCHAT_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_LOCALCB,
      userid: -1,
      start: 0,
      userstr: { filename: "customer_anychataudio" + num }
    };

    var ret1 = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_RECORD,
      JSON.stringify(jsonObj1)
    );
    console.log("结束录制自己" + ret1);

    var jsonObj2 = {
      taskguid: "38E34798-3140-4001-BFCD-AB060FEC3001",
      flags: ANYCHAT_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_LOCALCB,
      userid: mTargetUserId,
      start: 0,
      userstr: { filename: "user_anychataudio" + num }
    };

    var ret2 = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_RECORD,
      JSON.stringify(jsonObj2)
    );
    console.log("结束录制对方" + ret2);

    mix_server_record();

    GetID("sync_record").innerHTML = "开始同步录制";
    GetID("sync_record").style.backgroundColor = "#E6E6E6";
    num = num + 1;
  } else {
    DisplayTextMessage(-1, "同步录制开始");
    BRAC_SetSDKOption(BRAC_SO_RECORD_TMPDIR, "d:\\record\\local");

    var FILE_TYPE = 3; //录制-0 MP4[默认], 1 WMV, 2 FLV, 3 MP3
    BRAC_SetSDKOption(BRAC_SO_RECORD_FILETYPE, FILE_TYPE);

    var jsonObj1 = {
      taskguid: "38E34798-3140-4001-BFCD-AB060FEC3011",
      flags: ANYCHAT_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_LOCALCB,
      userid: -1,
      start: 1,
      userstr: { filename: "customer_anychataudio" + num }
    };

    var sdk_ret1 = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_RECORD,
      JSON.stringify(jsonObj1)
    );
    console.log("开始录制自己" + sdk_ret1);

    var jsonObj2 = {
      taskguid: "38E34798-3140-4001-BFCD-AB060FEC3001",
      flags: ANYCHAT_RECORD_FLAGS_AUDIO + BRAC_RECORD_FLAGS_LOCALCB,
      userid: mTargetUserId,
      start: 1,
      userstr: { filename: "user_anychataudio" + num }
    };

    var sdk_ret2 = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_RECORD,
      JSON.stringify(jsonObj2)
    );
    console.log("开始录制对方" + sdk_ret2);

    GetID("sync_record").innerHTML = "结束同步录制";
    GetID("sync_record").style.backgroundColor = "red";

    mix_server_record();
  }
  bsync_record = !bsync_record;
}

// 选择录制类型事件
function ChangeRecordType() {
  if (GetID("record_type").checked == true) {
    // 标签点击事件
    // alert("选中");
    record_type = 1;
    GetID("record_type_span").innerHTML = "服务器录制";
  } else {
    // alert("没有选中");
    GetID("record_type_span").innerHTML = "本地录制";
    record_type = 0;
  }
}

function ChangeRecordID() {
  if (GetID("record_id").checked == true) {
    //alert("选中");
    record_id = 1;
    changeID = -1;
    GetID("record_id_span").innerHTML = "自己ID";
  } else {
    record_id = 0;
    GetID("record_id_span").innerHTML = "对方ID";
  }
}

function ChangeRecordModel() {
  if (GetID("record_model").checked == true) {
    //alert("选中");
    record_model = 1;
    GetID("record_model_span").innerHTML = "画中画录制";
  } else {
    record_model = 0;
    GetID("record_model_span").innerHTML = "并列录制";
  }
}

function setRecordFormat() {
  value = parseInt(
    GetID("select_record_format").options[
      GetID("select_record_format").selectedIndex
    ].value
  );
  format = value;
  alert(format);
  BRAC_SetSDKOption(140, value);
}

//设置登录信息，包括用户名、服务器IP、服务器端口、应用ID
function setLoginInfo() {
  setCookie("username", GetID("username").value, 30);
  setCookie("ServerAddr", GetID("ServerAddr").value, 30);
  setCookie("ServerPort", GetID("ServerPort").value, 30);
  setCookie("AppGuid", GetID("AppGuid").value, 30);
  console.log(
    "设置登录参数",
    GetID("username").value,
    GetID("ServerAddr").value,
    GetID("ServerPort").value,
    GetID("AppGuid").value
  );
}

//设置cookie
function setCookie(c_name, value, expiredays) {
  var exdate = new Date();
  exdate.setDate(exdate.getDate() + expiredays);
  document.cookie =
    c_name +
    "=" +
    value +
    (expiredays == null ? "" : ";expires=" + exdate.toGMTString());
}
var bsnapshot = false;
function snapshot() {
  tag = BRAC_RECORD_FLAGS_SNAPSHOT;
  if (record_id == 0) {
    if (mTargetUserId == -1) {
      alert("请选择远程用户");
      return;
    }
    changeID = mTargetUserId;
  }
  if (record_type == 0) {
    tag = tag + BRAC_RECORD_FLAGS_SERVER + ANYCHAT_RECORD_FLAGS_LOCALCB;
  }
  if (bsnapshot) {
    BRAC_SnapShot(changeID, tag, 0);
  } else {
    BRAC_SnapShot(changeID, tag, 0);
  }
  bsnapshot = true;
}

//透明通道传输
function sendbuffer(ex) {
  //
  var buf_size = parseInt(GetID("buf_size").value);

  var buf_unit = GetID("buf_unit").options[GetID("buf_unit").selectedIndex]
    .value;

  var lp_buf = 1;
  var lp100ByteBuf =
    "0000000001000000000100000000010000000001000000000100000000010000000001000000000100000000010000000001";
  var lp1KByteBuf =
    Array(10 + 1).join(lp100ByteBuf) + "00000000010000000001abcd";
  var lp1MByteBuf = Array(1024 + 1).join(lp1KByteBuf);

  switch (buf_unit) {
    case "1":
      lp_buf = Array(buf_size + 1).join("A");
      break;
    case "2":
      lp_buf = Array(buf_size + 1).join(lp1KByteBuf);
      break;
    case "3":
      lp_buf = Array(buf_size + 1).join(lp1MByteBuf);
      break;
  }

  var lpbigBuf = lp_buf;

  var buf_len = lpbigBuf.length;

  setTimeout(function() {
    //透明通道EX发送
    if (ex == 1) {
      console.log("------透明通道ex---------");

      var tskid = BRAC_TransBufferEx(mTargetUserId, lpbigBuf, 0, 0, 0);

      console.log("透明通道EX发送taskid:" + tskid + ",发送长度:" + buf_len);

      DisplayTextMessage(
        mSelfUserId,
        "透明通道EX发送taskid:" + tskid + ",发送长度:" + buf_len
      );
    }

    //透明通道发送
    if (ex == 0) {
      console.log("------透明通道---------");

      // console.log(BRAC_GetVersion(22));
      // console.log(BRAC_GetVersion(23));
      // console.log(BRAC_GetVersion(24));

      var tskid = BRAC_TransBuffer(mTargetUserId, lpbigBuf);

      console.log("透明通道发送taskid:" + tskid + ",发送长度:" + buf_len);

      DisplayTextMessage(
        mSelfUserId,
        "透明通道发送taskid:" + tskid + ",发送长度:" + buf_len
      );
    }
  }, 1000);
}

//摄像头控制
var camera_status = false;
function camera_crtl() {
  if (camera_status == false) {
    BRAC_UserCameraControl(mSelfUserId, 1); // 请求对方视频
    //BRAC_UserSpeakControl(mSelfUserId, 1); 		// 请求对方语音

    //
    GetID("camera_crtl").innerText = "关闭摄像头";
  } else {
    BRAC_UserCameraControl(mSelfUserId, 0); // 请求对方视频
    //BRAC_UserSpeakControl(mSelfUserId, 0); 		// 请求对方语音

    //
    GetID("camera_crtl").innerText = "开启摄像头";
  }

  camera_status = !camera_status;
}

var rotationLocal = 0;
//本地采集方向旋转
function rotation_local() {
  var action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
  BRAC_SetSDKOption(98, 0);
  switch (rotationLocal) {
    case 0:
      rotationLocal = 90;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
      break;
    case 90:
      rotationLocal = 180;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION180;
      break;
    case 180:
      rotationLocal = 270;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION270;
      break;
    case 270:
      rotationLocal = 0;
      action_rotation = 0;
      break;
  }
  BRAC_UserInfoControl(
    -1,
    BRAC_USERINFO_CTRLCODE_ROTATION,
    action_rotation,
    0,
    ""
  );
  alert("旋转成功");
}
var rotation = 0;
//远程视频方向旋转
function rotation_remote() {
  if (mTargetUserId == -1) {
    alert("请选择远程用户");
    return;
  }
  var action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
  switch (rotation) {
    case 0:
      rotation = 90;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION90;
      break;
    case 90:
      rotation = 180;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION180;
      break;
    case 180:
      rotation = 270;
      action_rotation = BRAC_ROTATION_FLAGS_ROTATION270;
      break;
    case 270:
      rotation = 0;
      action_rotation = 0;
      break;
  }
  BRAC_UserInfoControl(
    mTargetUserId,
    BRAC_USERINFO_CTRLCODE_ROTATION,
    action_rotation,
    0,
    ""
  );
  alert("旋转成功");
}
//本地视频图片抓拍
// function snap_local() {
//   BRAC_SetSDKOption(BRAC_SO_SNAPSHOT_TMPDIR, "d:\\snap\\local");
//   BRAC_SnapShot(-1, 0, 0);
// }
//远程视频图片抓拍
// function snap_remote() {
//   //if(mTargetUserId==-1)
//   //{
//   //	alert("请选择远程用户");
//   //	return;
//   //}
//   //BRAC_SetSDKOption(BRAC_SO_SNAPSHOT_TMPDIR,"d:\\snap\\remote");
//   //BRAC_SnapShot(mTargetUserId, 0, 0);
//   tag =
//     BRAC_RECORD_FLAGS_SNAPSHOT +
//     BRAC_RECORD_FLAGS_SERVER +
//     ANYCHAT_RECORD_FLAGS_LOCALCB;
//   BRAC_SnapShot(mTargetUserId, tag, 0);
// }
//传送文件
function filetrans() {
  if (mTargetUserId == -1) {
    alert("请选择远程用户");
    return;
  }
  BRAC_TransFile(mTargetUserId, "", 0, 0, 0);

  //iTaskId=BRAC_TransFile(0, "", 0, 0, 8);
}

//var dwFlags = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT;
//播放媒体流文件格式
//function select_streamtype(){
//	var ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY = 0x00000080 ;	///< ppt播放,临时定义
//	var value = parseInt(GetID("select_streamtype").options[GetID("select_streamtype").selectedIndex].value);
//	console.log(value);
//	if(value == 1){
//		var dwFlags = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT;
//		return dwFlags;
//		}
///	else{
//		var dwFlags = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT | ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY;
//		return dwFlags;
//	}
//
//	console.log( dwFlags);
//}

//流媒体播放
var streamstatus = 0;
var TASK_GUID_TEST = "38E34798-3140-4001-BFCD-AB060FEC3001"; //任务ID

function NEW_TASK_GUID() {
  var t1 = new Date().getMilliseconds();
  TASK_GUID_TEST = "38E34798-3140-4001-BFCD-AB060FEC3" + t1;
  console.log(TASK_GUID_TEST);
}

function PPTPlay() {
  //ret = BRAC_StreamPlayDestroy(TASK_GUID_TEST, 0);//zyc20200513
  //console.log("释放媒体资源:"+ ret);

  document.getElementById("STRAEMPlayCTRL").innerHTML = "暂停";
  document.getElementById("STRAEMPlaySTOP").innerHTML = "停止";
  console.log("更改成功");
  //
  //BRAC_UserCameraControl(mSelfUserId, 0); 	// 关闭本地视频
  //BRAC_UserSpeakControl(mSelfUserId, 0); 		// 关闭本地语音

  NEW_TASK_GUID();

  var ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY = 0x00000080; ///< ppt播放,临时定义

  var MEDIAUTIL_CTRLCODE_STREAMPLAY_PLAYBYTIME = 100; //根据时间播放

  var iPPTIndex = 1; //设置播放PPT 流为1号流

  //设置1号流码率

  var dwApplyParam = 1;

  //设置流媒体参数
  var dwBitrate = 200000;
  BRAC_SetUserStreamInfo(
    -1,
    iPPTIndex,
    BRAC_SO_LOCALVIDEO_BITRATECTRL,
    dwBitrate
  );
  BRAC_SetUserStreamInfo(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_FPSCTRL, 15);
  BRAC_SetUserStreamInfo(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_WIDTHCTRL, 640);
  BRAC_SetUserStreamInfo(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_HEIGHTCTRL, 480);

  console.log(
    "高" +
      BRAC_GetUserStreamInfoInt(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_HEIGHTCTRL)
  );
  console.log(
    "宽" +
      BRAC_GetUserStreamInfoInt(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_WIDTHCTRL)
  );
  console.log(
    "码率" +
      BRAC_GetUserStreamInfoInt(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_BITRATECTRL)
  );
  console.log(
    "帧率" +
      BRAC_GetUserStreamInfoInt(-1, iPPTIndex, BRAC_SO_LOCALVIDEO_FPSCTRL)
  );

  //开启扩展输入
  var dwEnabled = 1;
  BRAC_SetUserStreamInfo(
    -1,
    iPPTIndex,
    BRAC_SO_CORESDK_EXTVIDEOINPUT,
    dwEnabled
  );

  //var PPTscr = GetID("PPTInput").value;
  //	console.log("PPTscr:",PPTscr);
  if (GetID("PPTInput").value == "") {
    strPPTPath = httpurl;
    alert("请输入媒体地址！");
  } else {
    //PPT文件夹路径
    var strPPTPath = GetID("PPTInput").value;
    //var strPPTPath = "D:\\ppt_test\\";
    //var strPPTPath = "D:\\video.mp4";
    //var strPPTPath = "https://h5test.anychat.net.cn/AnyChatMediaUtils/irecord2/1.mp4";
    //var strPPTPath = "rtsp://192.168.11.2:554/123.sdp";
    //var strPPTPath = "rtsp://admin:Bairuitech123@192.168.11.100:554/h264/ch1/main/av_stream";//网络摄像头地址
    //var strPPTPath = "rtmp://58.200.131.2:1935/livetv/hunantv";
    //
    //var dwFlags = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT | ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY; //播放PPT

    //var dwFlags = ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT | ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT ;
    console.log("媒体文件路径:" + strPPTPath);
    var jsonobj = {
      streamindex: iPPTIndex,
      buffermode: "smooth"
      //buffermode
      //lowdelay	低延迟模式，适用于网络非常稳定的场合
      //medium	中等延迟模式，适用于网络相对较好的场合,延迟低
      //default	默认模式，适用于大部分互联网环境
      //smooth	平滑模式，缓冲时间较长,适用于网络极差的场合
    };
    jsonstr = JSON.stringify(jsonobj);

    var ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY = 0x00000080; ///< ppt播放,临时定义
    var value = parseInt(
      GetID("select_streamtype").options[
        GetID("select_streamtype").selectedIndex
      ].value
    );
    console.log(value);
    var dwFlags;
    if (value == 1) {
      dwFlags =
        ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT |
        ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT;
    } else {
      dwFlags =
        ANYCHAT_STREAMPLAY_FLAGS_REPLACEAUDIOINPUT |
        ANYCHAT_STREAMPLAY_FLAGS_REPLACEVIDEOINPUT |
        ANYCHAT_STREAMPLAY_FLAGS_PPTPLAY;
    }

    var dwRet = BRAC_StreamPlayInit(
      TASK_GUID_TEST,
      strPPTPath,
      dwFlags,
      jsonstr
    );
    //var dwRet = BRAC_StreamPlayInit(TASK_GUID_TEST, PPTscr, dwFlags, jsonstr);
    console.log("流媒体初始化：" + dwRet);
    if (0 == dwRet) {
      //dwRet = BRAC_StreamPlaySetVideoPos(TASK_GUID_TEST, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE");
      //dwRet = BRAC_SetVideoPosEx(-1, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE",iPPTIndex);

      //以前的调用方法
      //BRAC_NativeCreateVideoPlugin(-1, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE",iPPTIndex);
      //BRAC_GetDmoObject("ANYCHAT_VIDEO_REMOTE").SetSDKOptionString(ANYCHATWEB_VIDEO_SO_PLAYTASKGUID, TASK_GUID_TEST);

      //最新的调用方法
      BRAC_StreamPlaySetVideoPos(
        TASK_GUID_TEST,
        document.getElementById("AnyChatRemoteVideoDiv"),
        "ANYCHAT_VIDEO_REMOTE"
      );

      console.log("------:" + dwRet);

      var jsonobj_streamplay = {
        start_time: 1000,
        end_time: 10000,
        use_audio_timestamp: 1,
        speed: 1
      };

      var jsonstr_streamplay = JSON.stringify(jsonobj_streamplay);

      dwRet = BRAC_StreamPlayControl(
        TASK_GUID_TEST,
        ANYCHAT_STREAMPLAY_CTRL_START,
        0,
        0,
        jsonstr
      );
      //dwRet = BRAC_StreamPlayControl(TASK_GUID_TEST, MEDIAUTIL_CTRLCODE_STREAMPLAY_PLAYBYTIME, 0, 0, jsonstr_streamplay);

      console.log("开始播放:" + dwRet);

      streamstatus = 1;
      document.getElementById("STRAEMPlaySTOP").innerHTML = "停止";
    }
  }
}

var streamstatus = 0;
function STRAEMPlayCTRL() {
  var ret = 0;
  //重新开始播放
  if (streamstatus == 0) {
    ret = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_START,
      0,
      0,
      jsonstr
    );
    console.log("jsonobj:" + jsonstr);

    streamstatus = 1;

    //BRAC_NativeCreateVideoPlugin(-1, GetID("AnyChatRemoteVideoDiv"), "ANYCHAT_VIDEO_REMOTE",iPPTIndex);
    //BRAC_GetDmoObject("ANYCHAT_VIDEO_REMOTE").SetSDKOptionString(ANYCHATWEB_VIDEO_SO_PLAYTASKGUID, TASK_GUID_TEST);

    document.getElementById("STRAEMPlayCTRL").innerHTML = "暂停";
    console.log("重新开始播放:" + ret);
  } else {
    ret = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_PAUSE,
      0,
      0,
      jsonstr
    );
    console.log("jsonobj111:" + jsonstr);
    streamstatus = 0;
    document.getElementById("STRAEMPlayCTRL").innerHTML = "恢复";
    console.log("暂停播放:" + ret);
  }
}

function STRAEMPlaySTOP() {
  var ret = 0;
  //停止播放
  if (streamstatus < 2) {
    ret = BRAC_StreamPlayControl(
      TASK_GUID_TEST,
      ANYCHAT_STREAMPLAY_CTRL_STOP,
      0,
      0,
      ""
    ); //jsonstr
    console.log("jsonobj:" + jsonstr);

    streamstatus = 2;

    document.getElementById("STRAEMPlaySTOP").innerHTML = "已停止";
    console.log("停止播放:" + ret);

    //ret = BRAC_StreamPlayDestroy(TASK_GUID_TEST, 0);
    ret = "关闭自动销毁";
    console.log("释放媒体资源:" + ret);
  }
}

var ANYCHAT_SDKCTRL_FACEBEAUTY = 53; ///< 美颜控制
function meiyan() {
  if (GetID("meiyan").checked == true) {
    mei_yan = 1;
    //alert("选中:"+mei_yan);
    GetID("meiyan_span").innerHTML = "开美颜";
    var jsonmy = {
      enable: mei_yan,
      mode: 1,
      level: level_no
    };
    var error = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_FACEBEAUTY,
      JSON.stringify(jsonmy)
    );
    console.log("开启美颜：" + error);
  } else {
    mei_yan = 0;
    //alert("没选中:"+mei_yan);
    GetID("meiyan_span").innerHTML = "无美颜";
    var jsonmy = {
      enable: mei_yan,
      mode: 1,
      level: level_no
    };
    var error = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_FACEBEAUTY,
      JSON.stringify(jsonmy)
    );
    console.log("关闭美颜：" + error);
  }
}

function setRecordLayoutstyle() {
  value = parseInt(
    GetID("select_record_layoutstyle").options[
      GetID("select_record_layoutstyle").selectedIndex
    ].value
  );
  Layout_style = value;
  console.log(Layout_style);
}

function meiyan_level() {
  if (mei_yan == 1) {
    value = parseInt(
      GetID("meiyan_level").options[GetID("meiyan_level").selectedIndex].value
    );
    level_no = value;
    var jsonmy = {
      enable: mei_yan,
      mode: 1,
      level: level_no
    };
    var error = BRAC_SDKControl(
      ANYCHAT_SDKCTRL_FACEBEAUTY,
      JSON.stringify(jsonmy)
    );
    console.log("开启美颜：" + error);
  } else {
    alert("未开美颜");
  }
}

//插入图片
function inserFile() {
  var pot = {
    recordindex: 2,
    streamindex: 0,
    image:
      "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"
  };
  //for(i=0;i<1;i--){
  var errorcode = BRAC_SetSDKOption(
    BRAC_SO_RECORD_INSERTIMAGE,
    JSON.stringify(pot)
  );
  console.log(errorcode);
  //}
}

function userNO() {
  var username = GetID("USERNO").value; //获取输入的用户昵称
  //console.log(username);

  var id = BRAC_QueryInfoFromServer(ANYCHAT_SERVERQUERY_USERIDBYNAME, username); //根据用户昵称查询用户ID
  //console.log(id);
  //console.log(JSON.parse(id).errorcode)

  if (JSON.parse(id).errorcode == 208) {
    //查询不存在的用户昵称时，返回“{”errorcode“:208}
    alert("用户昵称不存在!!!");
  } else {
    alert("用户ID:" + id);
    console.log(id);
  }
}

function get_filename() {
  //自定义文件名
  if (GetID("filenameInput").value == "") {
    filename = "default_name";
  } else {
    //PPT文件夹路径
    filename = GetID("filenameInput").value;
  }
}
